home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / amiga / gui / prcgntn1.lha / Precognition / source / pcgWindowClass.h < prev    next >
C/C++ Source or Header  |  1992-12-23  |  3KB  |  136 lines

  1. #ifndef PCGWINDOWCLASS_H
  2. #define PCGWINDOWCLASS_H
  3.  
  4. #include "pcgWindow.h"
  5. #include "InteractorClass.h"
  6.  
  7. struct pcgWindowClass
  8. {
  9.    Class *isa;
  10.    char  *ClassName;
  11.  
  12.    void   (*CleanUp)
  13.             ( Interactor *self );
  14.    tPoint (*Location)
  15.             ( const Interactor *self );
  16.    tPoint (*SetLocation)
  17.             ( Interactor *self,
  18.               PIXELS      LeftEdge,
  19.               PIXELS      TopEdge );
  20.    tPoint (*Size)
  21.             ( const Interactor *self );
  22.    tPoint (*AskSize)
  23.             ( const Interactor *self,
  24.               PIXELS            Width,
  25.               PIXELS            Height );
  26.    tPoint (*SetSize)
  27.             ( Interactor *self,
  28.               PIXELS      Width,
  29.               PIXELS      Height );
  30.    UWORD  (*SizeFlags)
  31.             ( const Interactor *self );
  32.  
  33.    void (*Render)
  34.             ( Interactor *self,
  35.               RastPort  *RPort );
  36.  
  37.    BOOL (*SetTitle)
  38.             ( Interactor *self,
  39.               char       *title );
  40.  
  41.    char *(*Title)
  42.             ( Interactor *self );
  43.  
  44.    AlignInfo (*TextAlignment)( GraphicObject *self );
  45.  
  46.    AlignInfo (*SetTextAlignment)
  47.             ( GraphicObject *self,
  48.               UBYTE         Flags,
  49.               BYTE          Xpad,
  50.               BYTE          Ypad );
  51.  
  52.    Class *BuilderMethods; /* pointer to more methods only used by the
  53.                           ** interface builder.
  54.                           */
  55.  
  56.    struct pcgWindow *(*InteractorWindow)
  57.             ( Interactor *self );
  58.  
  59.    void (*SetInteractorWindow)
  60.             ( Interactor         *self,
  61.               struct pcgWindow *window );
  62.  
  63.    Gadget *(*FirstGadget)
  64.             ( Interactor *self );
  65.  
  66.    USHORT (*nGadgets)
  67.             ( Interactor *self );
  68.  
  69.    ULONG (*IDCMPFlags)
  70.             ( Interactor *self );
  71.  
  72.    USHORT (*ClaimEvent)
  73.             ( Interactor    *self,
  74.               IntuiMessage *event );
  75.  
  76.    USHORT (*Respond)
  77.             ( Interactor    *self,
  78.               IntuiMessage *event );
  79.  
  80.    void (*Refresh)
  81.             ( Interactor    *self );
  82.  
  83.    BOOL (*EnableIactor)
  84.             ( Interactor *self,
  85.               BOOL       enable );
  86.  
  87.    BOOL (*isEnabled)
  88.             ( Interactor *self  );
  89.  
  90.    BOOL (*Activate)
  91.             ( Interactor *self,
  92.               BOOL       activate );
  93.  
  94.    BOOL (*isActive)
  95.             ( Interactor *self );
  96.  
  97. /*--- New Methods ----------------------------*/
  98.  
  99.    struct Window *(*OpenWindow)
  100.             ( pcgWindow *self );
  101.  
  102.    void (*CloseWindow)
  103.             ( pcgWindow *self );
  104.  
  105.    struct Window *(*iWindow)
  106.             ( pcgWindow *self );
  107.  
  108.    RastPort *(*RPort)
  109.             ( pcgWindow *self );
  110.  
  111.    ULONG (*SetIDCMPFlags)
  112.             ( pcgWindow *self,
  113.               ULONG       newflags );
  114.  
  115.    void (*AddGraphicObject)
  116.             ( pcgWindow *self, GraphicObject *graphic );
  117.  
  118.    void (*RemoveGraphicObject)
  119.             ( pcgWindow *self, GraphicObject *graphic );
  120.  
  121.    void (*AddInteractor)
  122.             ( pcgWindow *self, Interactor *interactor );
  123.  
  124.    void (*RemoveInteractor)
  125.             ( pcgWindow *self, Interactor *interactor );
  126.  
  127.    void (*AddMenuStrip)( pcgWindow *window, Menu *menustrip );
  128.  
  129.    void (*RemoveMenuStrip)( pcgWindow *window );
  130. };
  131.  
  132. struct pcgWindowClass *pcgWindowClass( void );
  133.  
  134. void pcgWindowClass_Init( struct pcgWindowClass *class );
  135.  
  136. #endif